ISNS-MGMT-MIB DEFINITIONS ::= BEGIN
-- 
--  Internet Storage Name Service (iSNS) 
--  Management Information Base
--
IMPORTS
    Integer32,
    Unsigned32,
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    BITS,
    experimental
         FROM SNMPv2-SMI

    OBJECT-GROUP,
    NOTIFICATION-GROUP,
    MODULE-COMPLIANCE
         FROM SNMPv2-CONF

    TEXTUAL-CONVENTION,
    DateAndTime,
    TruthValue,
    RowStatus
         FROM SNMPv2-TC

--  From RFC 2571
    SnmpAdminString
         FROM SNMP-FRAMEWORK-MIB

--  From RFC 2851
    InetAddressType,
    InetAddress
         FROM INET-ADDRESS-MIB

--  The FcNameIdOrZero and FcAddressId TCs are defined within this MIB
--    until the Nishan version of FCMGMT-MIB is updated.
--  From IETF Fibre Channel Management MIB, RFC TBD
--    FcNameIdOrZero, -¤- WWN
--    FcAddressId     -¤- FCID
--         FROM FC-MGMT-MIB
    ;

isnsMgmtMIB  MODULE-IDENTITY
      LAST-UPDATED "0210010000Z"
      ORGANIZATION "IETF IPS Working Group"
      CONTACT-INFO "
        Attn: Kevin Gibbons
              Nishan Systems
              3850 North First Street
              San Jose, CA 95134
              USA
              Tel: +1 408 519-3700
              Fax: +1 408 519-3705
              Email: kgibbons@nishansystems.com

              Josh Tseng
              Nishan Systems
              3850 North First Street
              San Jose, CA 95134
              USA
              Tel: +1 408 519-3700
              Fax: +1 408 519-3705
              Email: jtseng@nishansystems.com

              Tom McSweeney
              IBM Corporation
              600 Park Offices Drive
              Research Triangle Park, NC 27709
              USA 
              Tel: +1 919 855-5169
              Email: tommcs@us.ibm.com
                    "
      DESCRIPTION "The MIB for internet Storage Name Service
                   (iSNS) Management."

      -- Revision History
      REVISION "0210010000Z"
      DESCRIPTION " v1.6 (10/01/02) changes:
            Added support for portals that are explicitly
               added to a discovery domain.
            Made all revision dates snmp compliant.
                  "
      REVISION "0205150000Z"
      DESCRIPTION " v1.5 (05/15/02) changes:
            Modified based on feedback from Keith McCloghrie
               and others.
            Aligned design and included new FC Mgt MIB.
            Added support for attributes in iSNS Spec v10.
            Added REFERENCES and clarified object value ranges.
            Added Notification/Traps to the MIB.
            Used BITS construct for all bitmaps.
            Modifed FC Port table - was iFCP Node table
            Moved Id Next variables above table it is used for.
            Removed vendor specific options for iSNS control.
                  "
      REVISION "0111200000Z"
      DESCRIPTION " v1.4 (11/15/01) changes:
            Modified structures based on feedback from Keith
            McCloghrie and others in the IPS working group. We
            would like to thank Keith McCloghrie for his
            extensive feedback.
                  "
      REVISION "0110100000Z"
      DESCRIPTION " v1.3 (10/10/01) changes:
            added attributes to be consistent with the latest
            iSNS Specification.
                  "
      REVISION "0108140000Z"
      DESCRIPTION " v1.2 (8/14/01) changes:
            corrected format issues detected by SMICNG.
                  "
      REVISION "0108100000Z"
      DESCRIPTION " v1.1 (8/10/01) changes:
            removed unused isnsObjInfo branch.
            removed table indexes that are available in other
              tables.
            moved DD Member Status to the control branch.
            reversed the order of the Portal indexes.
            placed range limitations on EidId and IscsiNameId.
            updated variable descriptions.
            removed table entries that were redundant with
              table indexes.
                  "
      REVISION "0107100000Z"
      DESCRIPTION " v1.0 (7/10/01) The initial revision of this
                    module."
        -- no IETF branch yet assigned
              ::=  { experimental 4370 }

--
--  The following two Textual Conventions are from
--  <draft-ietf-ips-fcmgmt-mib-03.txt>, and are to
--  be included when RFC assigned
--

FcNameIdOrZero ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
"The World Wide Name (WWN) associated with a Fibre Channel
 (FC) entity.  WWNs were initially defined as 64-bits in
 length.  The latest definition (for future use) is 128-bits
 long.  The zero-length string value is used in circumstances
 where the WWN is unassigned/unknown."
    SYNTAX  OCTET STRING (SIZE(0 | 8 | 16))

FcAddressId ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
"A Fibre Channel Address ID, a 24-bit value unique within
 the address space of a Fabric."
    SYNTAX  OCTET STRING (SIZE(0 | 3))

-- end of <draft-ietf-ips-fcmgmt-mib-03.txt> TC's to be included


DiscoveryDomainSetId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The unique Discovery Domain Set Identifier associated with a
 Discovery Domain Set (DDS)."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         Unsigned32 ( 1 .. 4294967295 )

IsnsDdsStatusId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The bitmap indicating the status of a Discovery Domain
 Set (DDS) registered in the iSNS.
              Bit           Status
           ---------       ---------
           All Others       RESERVED
               31           enabled

 If bit(31) is set to  true then the DDS is Enabled.  If set
 to false the the DDS is disabled."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         BITS { 
                      reserved0(0),
                      reserved1(1),
                      reserved2(2),
                      reserved3(3),
                      reserved4(4),
                      reserved5(5),
                      reserved6(6),
                      reserved7(7),
                      reserved8(8),
                      reserved9(9),
                      reserved10(10),
                      reserved11(11),
                      reserved12(12),
                      reserved13(13),
                      reserved14(14),
                      reserved15(15),
                      reserved16(16),
                      reserved17(17),
                      reserved18(18),
                      reserved19(19),
                      reserved20(20),
                      reserved21(21),
                      reserved22(22),
                      reserved23(23),
                      reserved24(24),
                      reserved25(25),
                      reserved26(26),
                      reserved27(27),
                      reserved28(28),
                      reserved29(29),
                      reserved30(30),
                      enabled(31)
                        }

DiscoveryDomainId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The unique Discovery Domain Identifier (DD_ID) associated
 with a Discovery Domain (DD).  New devices are added to the
 default DD if isnsLocalDefaultDdDdsStatus is set to
 inDefaultDomain."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         Unsigned32 ( 1 .. 4294967295 )

DdFeatureBitmapId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The bitmap indicating the types of features
 the Discovery Domain (DD) has.
              Bit           Status
           ---------       ---------
           All Others       RESERVED
              31            Boot List
 
 Boot List: this feature indicates that the targets
 in this DD provide boot capabilities for the member
 initiators."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         BITS { 
                      reserved0(0),
                      reserved1(1),
                      reserved2(2),
                      reserved3(3),
                      reserved4(4),
                      reserved5(5),
                      reserved6(6),
                      reserved7(7),
                      reserved8(8),
                      reserved9(9),
                      reserved10(10),
                      reserved11(11),
                      reserved12(12),
                      reserved13(13),
                      reserved14(14),
                      reserved15(15),
                      reserved16(16),
                      reserved17(17),
                      reserved18(18),
                      reserved19(19),
                      reserved20(20),
                      reserved21(21),
                      reserved22(22),
                      reserved23(23),
                      reserved24(24),
                      reserved25(25),
                      reserved26(26),
                      reserved27(27),
                      reserved28(28),
                      reserved29(29),
                      reserved30(30),
                      bootlist(31)
                     }

DdDdsModificationBitmap ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The methods that can be used to modify Discovery Domains
 and Discovery Domain Sets.
     Bit Field          Flag Description
     ---------          ----------------
         0               SNMP Enabled
         1               Control Node Enabled
         2               Target iSCSI Node Enabled
         3               Initiator iSCSI Node Enabled
         4               Target iFCP Port Enabled
         5               Initiator iFCP Port Enabled
"
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 3"
    SYNTAX         BITS { 
                      snmpEnabled(0),
                      controlNode(1),
                      targetIscsiNode(2),
                      initiatorIscsiNode(3),
                      targetIfcpNode(4),
                      initiatorIfcpNode(5)
                        }

EntityIndexId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The identifier for the unique integer Entity Index associated
 with a storage entity."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         Unsigned32 ( 1 .. 4294967295 )

EidId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The unique Entity object identifier (EID) as specified in the
 iSNS Specification."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         SnmpAdminString (SIZE (0..255))

EntityProtocolId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The type of protocol that is supported by this entity.

           Type Value       Entity Type
           ----------       -----------
              1             No Protocol
              2             iSCSI
              3             iFCP
            All Others      Reserved
"
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         INTEGER { noProtocol(1),
                             iSCSI(2),
                             iFCP(3) }

PortalIndexId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The identifier for the unique integer Portal Index associated
 with a storage portal."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         Unsigned32 ( 1 .. 4294967295 )

PortalPortId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The UDP or TCP port number being used by a Portal for an
 Entity."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         INTEGER ( 0 .. 65535 )

PortalPortTypeId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The UDP or TCP port type being used by a Portal for an
 Entity."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         INTEGER { udp(1), tcp(2) }

PortalGroupTagOr0Id ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The tag that uniquely identifies a Portal Group in an Entity
 object."
    REFERENCE      "draft-ietf-ips-iscsi-17.txt, Section 1"
    SYNTAX         INTEGER ( 0 .. 65535 )

PortalSecurityBitmapId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"Indicates security attribute settings for the Portal as
 registered in the Portal Security Bitmap attribute.  The
 valid bit must be set in order for this attribute to contain
 valid information.  The definition of the bitmap is based on
 the iSNS Specification."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX        BITS { 
                      reserved0(0),
                      reserved1(1),
                      reserved2(2),
                      reserved3(3),
                      reserved4(4),
                      reserved5(5),
                      reserved6(6),
                      reserved7(7),
                      reserved8(8),
                      reserved9(9),
                      reserved10(10),
                      reserved11(11),
                      reserved12(12),
                      reserved13(13),
                      reserved14(14),
                      reserved15(15),
                      reserved16(16),
                      reserved17(17),
                      reserved18(18),
                      reserved19(19),
                      reserved20(20),
                      reserved21(21),
                      reserved22(22),
                      reserved23(23),
                      reserved24(24),
                      tunnelModePreferred(25),
                      transportModePreferred(26),
                      pfsEnabled(27),
                      agressiveModeEnabled(28),
                      mainModeEnabled(29),
                      ikeIpsecEnabled(30),
                      bitmapVALID(31)
                     }

NodeIndexId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The identifier for the unique integer Node Index associated
 with a storage node."
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         Unsigned32 ( 1 .. 4294967295 )

IscsiNameId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The iSCSI Name of the initiator or target associated with
 the storage node."
    REFERENCE "draft-ietf-ips-iscsi-name-disc-07.txt, Sec 2"
    SYNTAX         SnmpAdminString (SIZE (0..255))

NodeTypeId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The Node Type bit-map defining the functions of this node.
               Bit         Node Type
           ---------       ---------
           All Others       RESERVED
              29            Control
              30            Initiator
              31            Target
"
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         BITS { 
                      reserved0(0),
                      reserved1(1),
                      reserved2(2),
                      reserved3(3),
                      reserved4(4),
                      reserved5(5),
                      reserved6(6),
                      reserved7(7),
                      reserved8(8),
                      reserved9(9),
                      reserved10(10),
                      reserved11(11),
                      reserved12(12),
                      reserved13(13),
                      reserved14(14),
                      reserved15(15),
                      reserved16(16),
                      reserved17(17),
                      reserved18(18),
                      reserved19(19),
                      reserved20(20),
                      reserved21(21),
                      reserved22(22),
                      reserved23(23),
                      reserved24(24),
                      reserved25(25),
                      reserved26(26),
                      reserved27(27),
                      reserved28(28),
                      control(29),
                      initiator(30),
                      target(31)
                     }

CosBitmapId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The Class of Service bitmap for a node.
     Bit Field          Flag Description
     ---------          ----------------
     All others         RESERVED
        28              Delivery Confirmation Provided
        29              Delivery Confirmation Not Provided
"
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         BITS { 
                      reserved0(0),
                      reserved1(1),
                      reserved2(2),
                      reserved3(3),
                      reserved4(4),
                      reserved5(5),
                      reserved6(6),
                      reserved7(7),
                      reserved8(8),
                      reserved9(9),
                      reserved10(10),
                      reserved11(11),
                      reserved12(12),
                      reserved13(13),
                      reserved14(14),
                      reserved15(15),
                      reserved16(16),
                      reserved17(17),
                      reserved18(18),
                      reserved19(19),
                      reserved20(20),
                      reserved21(21),
                      reserved22(22),
                      reserved23(23),
                      reserved24(24),
                      reserved25(25),
                      reserved26(26),
                      reserved27(27),
                      class3(28),
                      class2(29)
                                   }

ScnBitmapId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The State Change Notification (SCN) bitmap for a node.
     Bit Field          Flag Description
     ---------          ----------------
     All others         RESERVED
        24              INITIATOR AND SELF INFORMATION ONLY
        25              TARGET AND SELF INFORMATION ONLY 
        26              MANAGEMENT REGISTRATION/SCN
        27              OBJECT REMOVED
        28              OBJECT ADDED
        29              OBJECT UPDATED
        30              DD/DDS MEMBER REMOVED (MGT REG/SCN ONLY)
        31              DD/DDS MEMBER ADDED (MGT REG/SCN ONLY)
"
    REFERENCE      "draft-ietf-ips-iSNS-13.txt, Section 7"
    SYNTAX         BITS { 
                      reserved0(0),
                      reserved1(1),
                      reserved2(2),
                      reserved3(3),
                      reserved4(4),
                      reserved5(5),
                      reserved6(6),
                      reserved7(7),
                      reserved8(8),
                      reserved9(9),
                      reserved10(10),
                      reserved11(11),
                      reserved12(12),
                      reserved13(13),
                      reserved14(14),
                      reserved15(15),
                      reserved16(16),
                      reserved17(17),
                      reserved18(18),
                      reserved19(19),
                      reserved20(20),
                      reserved21(21),
                      reserved22(22),
                      reserved23(23),
                      initiatorAndSelfOnly(24),
                      targetAndSelfOnly(25),
                      managementRegistrationOrScnSent(26),
                      objectRemoved(27),
                      objectAdded(28),
                      objectUpdated(29),
                      ddOrDdsMemberRemoved(30),
                      ddOrDdsMemberAdded(31)
                     }

ServerDiscoveryId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION
"The method of server discovery being used by this iSNS."
    SYNTAX         INTEGER {
                             other(1),
                             unicastCfg(2),
                             l2BrdcstHB(3),
                             mcHB(4), 
                             slp(5),
                             dhcp(6)
                            }

--
-- Internet Storage Name Service Management
--

isnsObj                     OBJECT IDENTIFIER ::=
                                { isnsMgmtMIB 1 }
isnsConformance             OBJECT IDENTIFIER ::=
                                { isnsMgmtMIB 2 }

--
-- iSNS Objects --------------------
--

--
-- Discovery Domain Set Objects --------------------
--

isnsDds                     OBJECT IDENTIFIER ::= { isnsObj 1 }

--
-- Discovery Domain Set Information --------------------
--

isnsDdsInfo                 OBJECT IDENTIFIER ::= { isnsDds 1 }

isnsDdsNumber               OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The current total number of Discovery Domain Sets
 registered in the iSNS.  This is the number of rows
 in the isnsDdsTable."
    ::= { isnsDdsInfo 1 }

--
-- Discovery Domain Set Registrations --------------------
--

isnsDdsRegistrations        OBJECT IDENTIFIER ::= { isnsDds 2 }

--
--  Process to get next DDS_ID for a new DDS
--

isnsDdsIdNext               OBJECT-TYPE
    SYNTAX                  DiscoveryDomainSetId 
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"This object returns the next available DDS ID that should
 be used for DDS creation using the isnsDdsTable.  The
 user should read and use the value of isnsDdsIdNext
 before performing a isnsDdsTable row creation.  The
 isnsDdsIdNext value returned can be used as the index
 value when creating a new row in the isnsDdsTable.  Each
 retrieval of this variable will return a different value."
    ::= { isnsDdsRegistrations 1 }

isnsDdsTable                OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsDdsEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing configuration information for each
 Discovery Domain Set (DDS) registered in the iSNS. The
 number of rows in the table is dependent on the number
 of DDSs registered in the iSNS."
    ::= { isnsDdsRegistrations 2 }

isnsDdsEntry                OBJECT-TYPE
    SYNTAX                  IsnsDdsEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on one Discovery Domain Set (DDS) registered
 in the iSNS.  The isnsDdsIdNext variable is used to
 determine the next isnsDdsId that should be used for row
 creation.  To create a row for a specific isnsDdsId, provide
 a unique isnsDdsSymbolicName when creating a row using
 isnsDdsRowStatus.  The creation and deletion of DDS's should
 be carefully handled so as to not disrupt a DDS created by
 a storage entity through the iSNS protocol directly."
    INDEX   { isnsDdsId }
    ::= { isnsDdsTable 1 }

IsnsDdsEntry ::=
    SEQUENCE { 
       isnsDdsId             DiscoveryDomainSetId,
       isnsDdsSymbolicName   SnmpAdminString,
       isnsDdsStatus         IsnsDdsStatusId,
       isnsDdsRowStatus      RowStatus
             }

isnsDdsId                   OBJECT-TYPE
    SYNTAX                  DiscoveryDomainSetId
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The ID that refers to this Discovery Domain Set and
 index to the table."
    ::= { isnsDdsEntry 1 }

isnsDdsSymbolicName         OBJECT-TYPE
    SYNTAX                  SnmpAdminString ( 0 .. 255 )
    MAX-ACCESS              read-create
    STATUS                  current
    DESCRIPTION
"The Discovery Domain Set Symbolic Name field contains
 a unique variable length description (up to 255 bytes)
 that is associated with the DDS."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsDdsEntry 2 }

isnsDdsStatus               OBJECT-TYPE
    SYNTAX                  IsnsDdsStatusId
    MAX-ACCESS              read-create
    STATUS                  current
    DESCRIPTION
"The bitmap indicating the status of a Discovery Domain
 Set (DDS) registered in the iSNS.
              Bit           Status
           ---------       ---------
           All Others       RESERVED
               31           enabled

 If bit(31) is set to  true then the DDS is Enabled.  If set
 to false the the DDS is disabled."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    DEFVAL                  { { enabled } }
    ::= { isnsDdsEntry 3 }

isnsDdsRowStatus            OBJECT-TYPE
    SYNTAX                  RowStatus
    MAX-ACCESS              read-create
    STATUS                  current
    DESCRIPTION
"This object indicates the status of this Discovery
 Domain Set row.  The normal state for a DDS is active."
    ::= { isnsDdsEntry 4 }

--
-- Discovery Domain Set Members --------------------
--

isnsDdsMembers             OBJECT IDENTIFIER ::= { isnsDds 3 }

--
-- DDS Membership Assignment
--

isnsDdsDdTable              OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsDdsDdEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing Discovery Domains (DDs) that have
 been assigned to specific Discovery Domain Sets (DDSs).
 The number of rows in the table is dependent on the
 number of DD to DDS relationships in the iSNS."
    ::= { isnsDdsMembers 1 }

isnsDdsDdEntry              OBJECT-TYPE
    SYNTAX                  IsnsDdsDdEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The mapping of one Discovery Domain (DD) to a Discovery
 Domain Set (DDS).  This indicates the DD is a member of
 the DDS.  To create a row, isnsDdsId contains the
 DDS ID of the DDS, and isnsDdsDdId contains the DD ID of
 the DD which will be a member of the DDS.  If a DDS is
 deleted, then each entry associating the DDS with a DD is
 removed.  The addition/deletion of DD's in a DDS should be
 carefully handled so as to not disrupt a DDS created by a
 storage entity through the iSNS protocol directly."
    INDEX   { isnsDdsId, isnsDdsDdId }
    ::= { isnsDdsDdTable 1 }

IsnsDdsDdEntry ::=
    SEQUENCE { 
       isnsDdsDdId         DiscoveryDomainId,
       isnsDdsDdRowStatus  RowStatus
             }

isnsDdsDdId                 OBJECT-TYPE
    SYNTAX                  DiscoveryDomainId
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The ID that identifies the Discovery Domain 
 which is a member of the Discovery Domain Set."
    ::= { isnsDdsDdEntry 1 }

isnsDdsDdRowStatus          OBJECT-TYPE
    SYNTAX                  RowStatus
    MAX-ACCESS              read-create
    STATUS                  current
    DESCRIPTION
"This object indicates the status of this entry."
    ::= { isnsDdsDdEntry 2 }

--
-- Discovery Domain Objects ----------------------------------
--

isnsDd                      OBJECT IDENTIFIER ::= { isnsObj 2 }

--
-- Discovery Domain Information ------------------------------
--

isnsDdInfo                  OBJECT IDENTIFIER ::= { isnsDd 1 }

isnsDdNumber                OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The current total number of Discovery Domains registered
 in the iSNS.  This is the number of rows in the
 isnsDdTable."
    ::= { isnsDdInfo 1 }

--
-- Discovery Domain Registrations ----------------------------
--

isnsDdRegistrations         OBJECT IDENTIFIER ::= { isnsDd 2 }

--
--  Process to get next DD_ID for a new DD
--

isnsDdIdNext                OBJECT-TYPE
    SYNTAX                  DiscoveryDomainId 
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"This object returns the next available DD ID that should
 be used for DD creation using the isnsDdTable.  The
 user should read and use the value of isnsDdIdNext
 before performing a isnsDdTable row creation.  The
 isnsDdIdNext value returned can be used as the index
 value when creating a new row in the isnsDdTable.  Each
 retrieval of this variable will return a different value."
    ::= { isnsDdRegistrations 1 }

isnsDdTable                 OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsDdEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing configuration information for each
 Discovery Domain (DD) registered in the iSNS.  The number
 of rows in the table is dependent on the number of DDs
 registered in the iSNS."
    ::= { isnsDdRegistrations 2 }

isnsDdEntry                 OBJECT-TYPE
    SYNTAX                  IsnsDdEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on one Discovery Domain (DD) registered in
 the iSNS.  The isnsDdIdNext variable is used to determine
 the next isnsDdId that should be used for row creation. 
 To create a row for a specific isnsDdId, provide a unique
 isnsDdSymbolicName when setting the row status to createAndGo
 or createAndWait.  The creation and deletion of DD's
 should be carefully handled so as to not disrupt a
 DD created by a storage entity through the iSNS
 protocol directly."
    INDEX   { isnsDdId }
    ::= { isnsDdTable 1 }

IsnsDdEntry ::=
    SEQUENCE { 
       isnsDdId             DiscoveryDomainId,
       isnsDdSymbolicName   SnmpAdminString,
       isnsDdFeatures       DdFeatureBitmapId,
       isnsDdRowStatus      RowStatus
             }

isnsDdId                    OBJECT-TYPE
    SYNTAX                  DiscoveryDomainId
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The ID that refers to this Discovery Domain and
 index to the table."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsDdEntry 1 }

isnsDdSymbolicName          OBJECT-TYPE
    SYNTAX                  SnmpAdminString ( 0 .. 255 )
    MAX-ACCESS              read-create
    STATUS                  current
    DESCRIPTION
"The Discovery Domain Symbolic Name field contains a
 unique variable length description (up to 255 bytes) 
 that is associated with the DD."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsDdEntry 2 }

isnsDdFeatures              OBJECT-TYPE
    SYNTAX                  DdFeatureBitmapId
    MAX-ACCESS              read-create
    STATUS                  current
    DESCRIPTION
"The Discovery Domain Features field contains a bitmap
 indicating the features of this DD.  
     Bit            DD Feature
    ---------       ---------
    All Others      RESERVED
      31            bootlist

 Boot List: this feature indicates that the targets
 in this DD provide boot capabilities for the member
 initiators."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    DEFVAL                  { { bootlist } }
    ::= { isnsDdEntry 3 }

isnsDdRowStatus             OBJECT-TYPE
    SYNTAX                  RowStatus
    MAX-ACCESS              read-create
    STATUS                  current
    DESCRIPTION
"This object indicates the status of this entry."
    ::= { isnsDdEntry 4 }

--
-- Discovery Domain Members --------------------
--

isnsDdMembers               OBJECT IDENTIFIER ::= { isnsDd 3 }

--
-- DD iSCSI Node Membership Assignment
--

isnsDdIscsiNodeTable        OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsDdIscsiNodeEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing iSCSI node indexes that have been
 assigned to specific DDs.  The number of rows in the
 table is dependent on the number of relationships between 
 iSCSI Nodes and DDs registered in the iSNS."
    ::= { isnsDdMembers 1 }

isnsDdIscsiNodeEntry        OBJECT-TYPE
    SYNTAX                  IsnsDdIscsiNodeEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The mapping of one iSCSI Node to a Discovery Domain to
 indicate membership in the DD.  The indexes are the DD ID
 of the Discovery Domain, and the iSCSI Node Index of the
 iSCSI Node.  For registered iSCSI nodes, the
 isnsDdIscsiNodeIdx for a specific isnsDdIscsiNodeName is
 obtained from the isnsRegIscsiNodeTable.  For unregistered
 iSCSI nodes, if they are already a member of other Discovery
 Domains, the same isnsDdIscsiNodeIdx MUST be used.  For
 unregistered iSCSI nodes, if they are not already a member of
 other Discovery Domains, the variable isnsDdIscsiNodeIdxNext
 is used to obtain a valid isnsDdIscsiNodeIdx.  If a DD is
 removed from the iSNS, then all entries associating nodes
 with the DD are removed."
    INDEX   { isnsDdId, isnsDdIscsiNodeIdx }
    ::= { isnsDdIscsiNodeTable 1 }

IsnsDdIscsiNodeEntry ::=
    SEQUENCE { 
       isnsDdIscsiNodeIdx          NodeIndexId,
       isnsDdIscsiNodeName         IscsiNameId,
       isnsDdIscsiNodeRowStatus    RowStatus
    }

isnsDdIscsiNodeIdx          OBJECT-TYPE
    SYNTAX                  NodeIndexId
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The iSCSI node index for this member node entry.  This
 index is used to uniquely indicate this table entry,
 and provides a 1 to 1 mapping to a node name.  The
 iSCSI node name is too long to be used for an index
 directly.  The iSCSI node index used for a specific
 iSCSI node name is persistent across server
 reinitializations when the iSCSI node is a member of
 a Discovery Domain (DD)."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsDdIscsiNodeEntry 1 }

isnsDdIscsiNodeName         OBJECT-TYPE
    SYNTAX                  IscsiNameId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The iSCSI Name for the initiator or target of
 this member node entry.  This maps 1 to 1 to the node
 index.  The iSCSI Name field is too long to be easily
 used for an index directly.  The node index used for a
 specific node name is only persistent across iSNS server
 reinitializations for nodes that are in a Discovery
 Domain (DD).  If a node is not registered in any DD then
 the index used for a node can change after a reboot."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsDdIscsiNodeEntry 2 }

isnsDdIscsiNodeRowStatus   OBJECT-TYPE
    SYNTAX                 RowStatus
    MAX-ACCESS             read-create
    STATUS                 current
    DESCRIPTION
"This object indicates the status of this entry."
    ::= { isnsDdIscsiNodeEntry 3 }

--
--  Adding next iSCSI member to DD
--

isnsDdIscsiNodeIdxNext      OBJECT-TYPE
    SYNTAX                  NodeIndexId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The next available iSCSI node index for adding an
 unregistered iSCSI node to a Discovery Domain. The
 iSCSI node index used for a specific iSCSI node
 name is persistent across server reinitializations
 when the iSCSI node is a member of a Discovery
 Domain (DD). This variable is used when an iSCSI
 node is to be added to a Discovery Domain prior to
 it being registered in the server using the iSNS
 protocol.  Registered iSCSI nodes have an entry in
 the isnsRegIscsiNodeTable.  If an iSCSI node is
 already registered in the server or is already
 a member of a Discovery Domain, then it will already
 have an iSCSI node index, and the index MUST be used
 for any additional DD membership registrations."
    ::= { isnsDdMembers 2 }

--
-- DD FC Port Membership Assignment
--

isnsDdFcPortTable          OBJECT-TYPE
    SYNTAX                 SEQUENCE OF IsnsDdFcPortEntry
    MAX-ACCESS             not-accessible
    STATUS                 current
    DESCRIPTION
"A table containing FC Port World Wide Names (WWN) that
 have been assigned to specific DDs.  The number of rows
 in the table is dependent on the number of relationships
 between FC Ports and DDs registered in the iSNS."
    ::= { isnsDdMembers 3 }

isnsDdFcPortEntry          OBJECT-TYPE
    SYNTAX                 IsnsDdFcPortEntry
    MAX-ACCESS             not-accessible
    STATUS                 current
    DESCRIPTION
"The association of one FC Port with a Discovery Domain.
 Membership of an FC Port in a Discovery Domain is
 indicated by creating a row for the appropriate DD ID
 and FC Port WWN.  If a DD is removed from the iSNS, then
 entries associating nodes with the DD are removed."
    INDEX   { isnsDdId, isnsDdFcPortName }
    ::= { isnsDdFcPortTable 1 }

IsnsDdFcPortEntry ::=
    SEQUENCE { 
       isnsDdFcPortName         FcNameIdOrZero,
       isnsDdFcPortRowStatus    RowStatus
    }

isnsDdFcPortName           OBJECT-TYPE
    SYNTAX                 FcNameIdOrZero
    MAX-ACCESS             not-accessible
    STATUS                 current
    DESCRIPTION
"The Port WWN the FC Port that is a member of the DD."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsDdFcPortEntry 1 }

isnsDdFcPortRowStatus      OBJECT-TYPE
    SYNTAX                 RowStatus
    MAX-ACCESS             read-create
    STATUS                 current
    DESCRIPTION
"This object indicates the status of this entry."
    ::= { isnsDdFcPortEntry 2 }

--
-- DD Portal Membership Assignment
--

isnsDdPortalTable          OBJECT-TYPE
    SYNTAX                 SEQUENCE OF IsnsDdPortalEntry
    MAX-ACCESS             not-accessible
    STATUS                 current
    DESCRIPTION
"A table containing portal indexes that have been
 explicitly assigned to specific DDs.  Explicity assignment of
 a portal to a discovery domain is only done when all portals
 of an entity can not be equally used for access to nodes
 contained in the entity.  If no portal of an entity has been
 explicitly assigned to a discovery domain, and a node
 contained in the entity is a member of the discovery domain,
 then all portals of the entity are implicitly contained in
 the discovery domain.  The number of rows in the table is
 dependent on the number of explicit relationships between
 portals and DDs registered in the iSNS."
    ::= { isnsDdMembers 4 }

isnsDdPortalEntry          OBJECT-TYPE
    SYNTAX                 IsnsDdPortalEntry
    MAX-ACCESS             not-accessible
    STATUS                 current
    DESCRIPTION
"Each entry indicates an explicit addition of a portal to a
 discovery domain.  The explicit addition of an entity portal
 to a discovery domain indicates the portal is preferred for
 access to nodes of the entity that are contained in the
 discovery domain. Portals that have been explicitly mapped a
 discovery domain will be returned as part of a query that is
 scoped to that discovery domain.  If no portal of an entity
 has been explicitly mapped to a discovery domain, then all
 portals of the entity are implicit members of the discovery
 domain, and all will be returned as part of query that is
 scoped to that discovery domain.  The table indexes are the
 DD ID of the Discovery Domain, and the Portal Index of the
 portal.  For registered portals, the isnsDdPortalPrtlIdx for
 a specific isnsDdPortalAddr and isnsDdPortalPort is obtained
 from the isnsRegPortalTable.  For unregistered portals, if
 they are already a member of other Discovery Domains, the
 same isnsDdPortalIdx MUST be used.  For unregistered portals,
 if they are not already a member of other Discovery Domains,
 the variable isnsDdPortalIdxNext is used to obtain a valid
 isnsDdPortalIdx.  If a DD is removed from the iSNS, then all
 entries associating portals with the DD are removed."
    INDEX   { isnsDdId, isnsDdPortalIdx }
    ::= { isnsDdPortalTable 1 }

IsnsDdPortalEntry ::=
    SEQUENCE { 
       isnsDdPortalIdx             PortalIndexId,
       isnsDdPortalAddrType        InetAddressType,
       isnsDdPortalAddr            InetAddress,
       isnsDdPortalPort            PortalPortId,
       isnsDdPortalPortType        PortalPortTypeId,
       isnsDdPortalRowStatus       RowStatus
             }

isnsDdPortalIdx            OBJECT-TYPE
    SYNTAX                 PortalIndexId
    MAX-ACCESS             not-accessible
    STATUS                 current
    DESCRIPTION
"The index for a portal explicitly contained in the discovery
 domain.  The Portal Index used for a specific portal
 IP-address and port number pair is only persistent across
 reboots for portals that have been explicitly added to a
 Discovery Domain (DD).  If a portal is not explicitly
 registered in any DD, then the index used for a portal can
 change after a server reinitialization."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsDdPortalEntry 1 }

isnsDdPortalAddrType       OBJECT-TYPE
    SYNTAX                 InetAddressType
    MAX-ACCESS             read-only
    STATUS                 current
    DESCRIPTION
"The type of Inet address in isnsDdPortalAddr."
    ::= { isnsDdPortalEntry 2 }

isnsDdPortalAddr           OBJECT-TYPE
    SYNTAX                 InetAddress
    MAX-ACCESS             read-only
    STATUS                 current
    DESCRIPTION
"The Inet Address for the portal as defined in
 the iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsDdPortalEntry 3 }

isnsDdPortalPort           OBJECT-TYPE
    SYNTAX                 PortalPortId
    MAX-ACCESS             read-only
    STATUS                 current
    DESCRIPTION
"The port number for the portal as defined in the
 iSNS Specification.  Whether the portal type is TCP
 or UDP is indicated by isnsDdPortalPortType."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsDdPortalEntry 4 }

isnsDdPortalPortType       OBJECT-TYPE
    SYNTAX                 PortalPortTypeId
    MAX-ACCESS             read-only
    STATUS                 current
    DESCRIPTION
"The port type for the portal, either UDP or TCP, as
 defined in the iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsDdPortalEntry 5 }

isnsDdPortalRowStatus      OBJECT-TYPE
    SYNTAX                 RowStatus
    MAX-ACCESS             read-create
    STATUS                 current
    DESCRIPTION
"This object indicates the status of this entry."
    ::= { isnsDdPortalEntry 6 }

--
--  Adding next Portal member explicitly to a DD
--

isnsDdPortalIdxNext        OBJECT-TYPE
    SYNTAX                 PortalIndexId
    MAX-ACCESS             read-only
    STATUS                 current
    DESCRIPTION
"The next available portal index for adding an unregistered
 portal to a discovery domain. The portal index used for a
 specific portal is persistent across server reinitializations
 only when the portal is an explicit member of a Discovery
 Domain (DD). This variable is used when a portal is to be
 explicitly added to a Discovery Domain prior to it being
 registered in the server using the iSNS protocol.  Registered
 portals have an entry in the isnsRegPortalTable.  If a portal
 is already registered in the server, or is already a member
 of a Discovery Domain, then it will already have a portal
 index.  The same portal index MUST be used for any additional
 DD membership registrations of the same portal."
    ::= { isnsDdMembers 5 }

--
-- iSNS Registered Objects -----------------------------------
--

isnsReg                     OBJECT IDENTIFIER
                                 ::= { isnsObj  3 }

--
-- iSNS Registered Object Information ------------------------
--

isnsRegInfo        OBJECT IDENTIFIER ::= { isnsReg 1 }

isnsNumEntities             OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The current total number of Entities registered in the
 iSNS.  This is the number of rows in isnsRegEntityTable."
    ::= { isnsRegInfo 1 }

isnsNumPortals              OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The current total number of Portals registered in iSNS.
 This is the number of rows in isnsRegPortalTable."
    ::= { isnsRegInfo 2 }

isnsNumIscsiNodes           OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The current total number of iSCSI node entries registered in
 the iSNS.  This is the number rows in isnsRegIscsiNodeTable."
    ::= { isnsRegInfo 3 }

isnsNumFcPorts            OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The current total number of FC Port entries registered in the
 iSNS.  This is the number of rows in isnsRegFcPortTable."
    ::= { isnsRegInfo 4 }

isnsNumFcNodes              OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The current total number of FC node entries registered in the
 iSNS. This is the number of rows in isnsRegFcNodeTable."
    ::= { isnsRegInfo 5 }

--
-- iSNS Registered Entities
--

isnsRegEntityInfo           OBJECT IDENTIFIER
                               ::= { isnsReg  2 }

--
-- iSNS Registered Entities Table
--

isnsRegEntityTable          OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsRegEntityEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing the registered Entity objects in the iSNS.
 The number of entries in the table is dependent on the 
 number of Entity objects registered in the iSNS.  All Entity
 objects are registered in the iSNS using the iSNS protocol."
    ::= { isnsRegEntityInfo 1 }

isnsRegEntityEntry          OBJECT-TYPE
    SYNTAX                  IsnsRegEntityEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on one registered Entity object in the iSNS."
    INDEX   { isnsRegEntityEIdx }
    ::= { isnsRegEntityTable 1 }

IsnsRegEntityEntry ::=
    SEQUENCE { 
       isnsRegEntityEIdx           EntityIndexId,
       isnsRegEntityEID            EidId,
       isnsRegEntityProtocol       EntityProtocolId,
       isnsRegEntityMgtAddrType    InetAddressType,
       isnsRegEntityMgtAddr        InetAddress,
       isnsRegEntityTimestamp      DateAndTime,
       isnsRegEntityVersionMin     INTEGER,
       isnsRegEntityVersionMax     INTEGER,
       isnsRegEntityRegPeriod      Unsigned32
            }

isnsRegEntityEIdx           OBJECT-TYPE
    SYNTAX                  EntityIndexId
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The Entity Index for this entity.  This integer based index is
 assigned by the iSNS server when an Entity is initially
 registered. The Entity Index can be used to represent a
 registered Entity object in situations where the Entity EID
 would be too long/unwieldy."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegEntityEntry 1 }

isnsRegEntityEID            OBJECT-TYPE
    SYNTAX                  EidId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The iSNS Entity Identifier for this Entity object."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegEntityEntry 2 }

isnsRegEntityProtocol       OBJECT-TYPE
    SYNTAX                  EntityProtocolId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The iSNS Entity Protocol is an enumerated value which
 indicates the type of nodes that are contained within it.

           Type Value       Entity Type
           ----------       -----------
              1             No Protocol
              2             iSCSI
              3             iFCP
            All Others      Reserved
"
    REFERENCE  "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegEntityEntry 3 }

isnsRegEntityMgtAddrType    OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The type of Inet address in isnsRegEntityMgtAddr."
    ::= { isnsRegEntityEntry 4 }

isnsRegEntityMgtAddr        OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The iSNS Management IP Address for the Entity object."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegEntityEntry 5 }

isnsRegEntityTimestamp      OBJECT-TYPE
    SYNTAX                  DateAndTime
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The iSNS Entity Registration Timestamp for the Entity object.
 This is the most recent date and time that the Entity object,
 and objects contained in the object, were registered or
 updated."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegEntityEntry 6 }

isnsRegEntityVersionMin     OBJECT-TYPE
    SYNTAX                  INTEGER ( 0 .. 65535 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The iSNS Entity Protocol Version Range minimum value.  A
 value of x'FF' is a wildcard value indicating no minimum to
 the protocol versions supported by this Entity.  Entity
 registrations with isnsRegEntityProtocol set to No Protocol
 always have a minimum version of 0."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegEntityEntry 7 }

isnsRegEntityVersionMax     OBJECT-TYPE
    SYNTAX                  INTEGER ( 0 .. 65535 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The iSNS Entity Protocol Version Range maximum value.  A
 value of x'FF' is a wildcard value indicating no maximum to
 the protocol versions supported by this Entity.  Entity
 registrations with isnsRegEntityProtocol set to No Protocol
 always have a maximum version of 0."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegEntityEntry 8 }

isnsRegEntityRegPeriod      OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The iSNS Entity Status Inquiry (ESI) registration period
 which indicates the maximum time, in seconds, that the
 registration will be maintained without receipt of an iSNSP
 message from the entity.  If the Registration Period is set
 to 0, then the Entity SHALL NOT be deregistered due to no
 contact with the entity."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegEntityEntry 9 }

--
-- Basic information for the Entity object
--

isnsRegEntityInfoTable      OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsRegEntityInfoEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing basic information on registered Entity
 objects in the iSNS.  The number of entries in the table is
 dependent on the number of Entity objects registered in the
 iSNS."
    ::= { isnsRegEntityInfo 2 }

isnsRegEntityInfoEntry      OBJECT-TYPE
    SYNTAX                  IsnsRegEntityInfoEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on one registered Entity object in the iSNS."
    INDEX   { isnsRegEntityEIdx }
    ::= { isnsRegEntityInfoTable 1 }

IsnsRegEntityInfoEntry ::=
    SEQUENCE { 
       isnsRegEntityInfoNumNodes   Unsigned32,
       isnsRegEntityInfoNumPortals Unsigned32
            }

isnsRegEntityInfoNumNodes   OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The number of Storage Nodes associated with this Entity."
    ::= { isnsRegEntityInfoEntry 1 }

isnsRegEntityInfoNumPortals OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The number of Portals associated with this Entity."
    ::= { isnsRegEntityInfoEntry 2 }

--
-- iSNS Registered Portal Information
--

isnsRegPortalInfo           OBJECT IDENTIFIER
                               ::= { isnsReg  3 }

--
-- iSNS Registered Portal Table
--

isnsRegPortalTable          OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsRegPortalEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing the registered Portals in the iSNS.
 The number of entries is dependent on the number of
 Portals registered in the iSNS."
    ::= { isnsRegPortalInfo 1 }

isnsRegPortalEntry          OBJECT-TYPE
    SYNTAX                  IsnsRegPortalEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on one registered Entity Portal in the iSNS. 
 The Entity Index is part of the table index to quickly
 find Portals that support a specific Entity."
    INDEX   { isnsRegEntityEIdx,
              isnsRegPortalPrtlIdx }
    ::= { isnsRegPortalTable 1 }

IsnsRegPortalEntry ::=
    SEQUENCE { 
       isnsRegPortalPrtlIdx        PortalIndexId,
       isnsRegPortalAddrType       InetAddressType,
       isnsRegPortalAddr           InetAddress,
       isnsRegPortalPort           PortalPortId,
       isnsRegPortalPortType       PortalPortTypeId,
       isnsRegPortalSymName        SnmpAdminString,
       isnsRegPortalEsiInterval    Unsigned32,
       isnsRegPortalEsiPort        PortalPortId,
       isnsRegPortalEsiPortType    PortalPortTypeId,
       isnsRegPortalGroupTag       PortalGroupTagOr0Id,
       isnsRegPortalScnPort        PortalPortId,
       isnsRegPortalScnPortType    PortalPortTypeId,
       isnsRegPortalSecurityInfo   PortalSecurityBitmapId
            }

isnsRegPortalPrtlIdx        OBJECT-TYPE
    SYNTAX                  PortalIndexId
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The Portal Index for this node.  The index is created by the
 iSNS server for mapping between objects.  The Portal Index
 used for a specific portal IP-address and port number pair
 is only persistent across reboots for portals that have been
 explicitly added to a Discovery Domain (DD).  If a portal is
 not explicitly registered in any DD, then the index used for
 a portal can change after a server reinitialization."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 1 }

isnsRegPortalAddrType       OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The type of Inet address in isnsRegPortalAddr."
    ::= { isnsRegPortalEntry 2 }

isnsRegPortalAddr           OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The Inet Address for this Portal as defined in
 the iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 3 }

isnsRegPortalPort           OBJECT-TYPE
    SYNTAX                  PortalPortId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The port number for this Portal as defined in the
 iSNS Specification.  Whether the Portal type is TCP
 or UDP is indicated by isnsRegPortalPortType."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 4 }

isnsRegPortalPortType       OBJECT-TYPE
    SYNTAX                  PortalPortTypeId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The port type for this Portal, either UDP or TCP, as
 defined in the iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 5 }

isnsRegPortalSymName        OBJECT-TYPE
    SYNTAX                  SnmpAdminString ( 0 .. 255 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The optional Symbolic Name for this Portal as defined in
 the iSNS Specification.  If not provided then the string
 SHALL be zero length."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 6 }

isnsRegPortalEsiInterval    OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The Entity Status Inquiry (ESI) Interval for this Portal
 as defined in the iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 7 }

isnsRegPortalEsiPort        OBJECT-TYPE
    SYNTAX                  PortalPortId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The TCP or UDP port number used for ESI monitoring.  Whether
 the port type is TCP or UDP is indicated by
 isnsRegPortalEsiPortType."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 8 }

isnsRegPortalEsiPortType    OBJECT-TYPE
    SYNTAX                  PortalPortTypeId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The port type for the ESI Port, either UDP or TCP, as
 defined in the iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 9 }

isnsRegPortalGroupTag       OBJECT-TYPE
    SYNTAX                  PortalGroupTagOr0Id
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The Portal Group Tag for this Portal.  Portals belonging to
 the same group allow connections for a session to span all
 Portals in the group.  The tag value for Portal Group is
 unique within an Entity object."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 10 }

isnsRegPortalScnPort        OBJECT-TYPE
    SYNTAX                  PortalPortId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The TCP or UDP port used to receive SCN messages from the
 iSNS server.  Whether the port type is TCP or UDP is
 indicated by isnsRegPortalScnPortType."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 11 }

isnsRegPortalScnPortType    OBJECT-TYPE
    SYNTAX                  PortalPortTypeId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The port type for the SCN Port, either UDP or TCP, as
 defined in the iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 12 }

isnsRegPortalSecurityInfo   OBJECT-TYPE
    SYNTAX                  PortalSecurityBitmapId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"Indicates security attribute settings for the Portal as
 registered in the Portal Security Bitmap attribute.  The bit
 for bitmapVALID must be set in order for this attribute to
 contain valid information."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegPortalEntry 13 }

--
-- iSNS Registered iSCSI Node Information
--

isnsRegIscsiNodeInfo  OBJECT IDENTIFIER ::= { isnsReg  4 }

--
-- iSNS Registered iSCSI Node Table
--

isnsRegIscsiNodeTable       OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsRegIscsiNodeEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing the registered iSCSI Nodes in the iSNS.
 Storage devices register using the iSNS protocol.  While a
 device cannot be registered in an iSNS server using SNMP,
 an entry can be deleted in order to remove 'stale' entries.
 The number of entries is related to the number of iSCSI
 nodes registered in the iSNS."
    ::= { isnsRegIscsiNodeInfo 1 }

isnsRegIscsiNodeEntry       OBJECT-TYPE
    SYNTAX                  IsnsRegIscsiNodeEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on one iSCSI node that has been registered in
 the iSNS.  The RowStatus variable provides a method to
 delete registered nodes that were not properly
 deregistered / removed through iSNSP.  New rows cannot be
 added through SNMP."
    INDEX { isnsRegEntityEIdx,
            isnsRegIscsiNodeIdx }
    ::= { isnsRegIscsiNodeTable 1 }

IsnsRegIscsiNodeEntry ::= SEQUENCE { 
    isnsRegIscsiNodeIdx            NodeIndexId,
    isnsRegIscsiNodeName           IscsiNameId,
    isnsRegIscsiNodeType           NodeTypeId,
    isnsRegIscsiNodeAlias          SnmpAdminString,
    isnsRegIscsiNodeScnBitmap      ScnBitmapId,
    isnsRegIscsiNodeWwnToken       FcNameIdOrZero,
    isnsRegIscsiNodeAuthMethod     SnmpAdminString,
    isnsRegIscsiNodeRowStatus      RowStatus
                                 }

isnsRegIscsiNodeIdx         OBJECT-TYPE
    SYNTAX                  NodeIndexId
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The Node Index for this node.  The index is created by the
 iSNS server for mapping between objects.  The node index
 used for a specific node name is only persistent across
 reboots for nodes that are in a Discovery Domain (DD).  If
 a node is not registered in any DD, then the index used for
 a node can change after a server reinitialization."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegIscsiNodeEntry 1 }

isnsRegIscsiNodeName        OBJECT-TYPE
    SYNTAX                  IscsiNameId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The iSCSI Name that uniquely identifies the initiator,
 initiator/target, target, or control node in the network."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegIscsiNodeEntry 2 }

isnsRegIscsiNodeType        OBJECT-TYPE
    SYNTAX                  NodeTypeId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The Node Type bit-map defining the functions of this
 iSCSI node.
               Bit         Node Type
           ---------       ---------
           All Others       RESERVED
              29            Control
              30            Initiator
              31            Target
"
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegIscsiNodeEntry 3 }

isnsRegIscsiNodeAlias       OBJECT-TYPE
    SYNTAX                  SnmpAdminString ( 0 .. 255 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The Alias name of the iSCSI node.  This is a variable-length
 text-based description of up to 255 bytes."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegIscsiNodeEntry 4 }

isnsRegIscsiNodeScnBitmap   OBJECT-TYPE
    SYNTAX                  ScnBitmapId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The State Change Notification (SCN) bitmap for a node.
     Bit Field          Flag Description
     ---------          ----------------
     All others         RESERVED
        24              INITIATOR AND SELF INFORMATION ONLY
        25              TARGET AND SELF INFORMATION ONLY 
        26              MANAGEMENT REGISTRATION/SCN
        27              OBJECT REMOVED
        28              OBJECT ADDED
        29              OBJECT UPDATED
        30              DD/DDS MEMBER REMOVED (MGT REG/SCN ONLY)
        31              DD/DDS MEMBER ADDED (MGT REG/SCN ONLY)
"
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegIscsiNodeEntry 5 }

isnsRegIscsiNodeWwnToken    OBJECT-TYPE
    SYNTAX                  FcNameIdOrZero
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"This contains an optional globally unique 64-bit integer value
 that can be used to represent the World Wide Node Name of the
 iSCSI device in a Fibre Channel fabric. This identifier is
 used during the device registration process, and MUST conform
 to the requirements in [FC-FS]."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegIscsiNodeEntry 6 }

isnsRegIscsiNodeAuthMethod  OBJECT-TYPE
    SYNTAX                  SnmpAdminString ( 0 .. 255 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"This attribute contains a null-terminated string containing
 UTF-8 text listing the iSCSI authentication methods enabled
 for this iSCSI Node, in order of preference.  The text values
 used to identify iSCSI authentication methods are embedded in
 this string attribute and delineated by a comma.  The text
 values are identical to those found in the main iSCSI draft;
 additional vendor-specific text values are also possible."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegIscsiNodeEntry 7 }

isnsRegIscsiNodeRowStatus   OBJECT-TYPE
    SYNTAX                  RowStatus
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION
"This object indicates the status of this entry.  Only
 active and destroy are supported.  Destroy is used to 
 remove a registered node that has not be properly
 deregistered through the iSNS protocol."
    ::= { isnsRegIscsiNodeEntry 8 }
--
-- iSNS Registered FC Port Information
--

isnsRegFcPortInfo           OBJECT IDENTIFIER
                                   ::= { isnsReg  5 }

--
-- iSNS Registered FC Port Table
--

isnsRegFcPortTable          OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsRegFcPortEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on registered FC Ports in the iSNS."
    ::= { isnsRegFcPortInfo 1 }

isnsRegFcPortEntry          OBJECT-TYPE
    SYNTAX                      IsnsRegFcPortEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on one FC Port that has been registered in
 iSNS."
    INDEX { isnsRegEntityEIdx,
            isnsRegFcPortWwpn }
    ::= { isnsRegFcPortTable 1 }

IsnsRegFcPortEntry ::= SEQUENCE { 
    isnsRegFcPortWwpn              FcNameIdOrZero,
    isnsRegFcPortID                FcAddressId,
    isnsRegFcPortType              INTEGER,
    isnsRegFcPortSymName           SnmpAdminString,
    isnsRegFcPortFabricPortWwn     FcNameIdOrZero,
    isnsRegFcPortHA                FcAddressId,
    isnsRegFcPortAddrType          InetAddressType,
    isnsRegFcPortAddr              InetAddress,
    isnsRegFcPortFcCos             CosBitmapId,
    isnsRegFcPortFc4Types          OCTET STRING,
    isnsRegFcPortFc4Descr          OCTET STRING,
    isnsRegFcPortFc4Features       OCTET STRING,
    isnsRegFcPortScnBitmap         ScnBitmapId,
    isnsRegFcPortRole              NodeTypeId,
    isnsRegFcPortFcNodeWwn         FcNameIdOrZero

                                }

isnsRegFcPortWwpn           OBJECT-TYPE
    SYNTAX                  FcNameIdOrZero
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The FC Port's World Wide Port Name as defined in the iSNS
 Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 1 }

isnsRegFcPortID             OBJECT-TYPE
    SYNTAX                  FcAddressId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION 
"The FC Port's Port ID as defined in the iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 2 }

isnsRegFcPortType           OBJECT-TYPE
    SYNTAX                  INTEGER ( 0 .. 65535 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The FC Port Port Type as defined in the iSNS Specification
 and the Fibre Channel FC-GS-3 Specification.  Current values
 are as shown below:
        unknown      (0),
        nPort        (1),
        nlPort       (2),
        fNlPort      (3),
        fPort        (129),     -- x'81'
        flPort       (130),     -- x'82'
        ePort        (132),     -- x'84'
        bPort        (133),     -- x'85'
        mFcpPort     (65297),   -- x'FF11'
        iFcpPort     (65298),   -- x'FF12'
        unknownEnd   (65535)
 ."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 3 }

isnsRegFcPortSymName      OBJECT-TYPE
    SYNTAX                SnmpAdminString ( 0 .. 255 )
    MAX-ACCESS            read-only
    STATUS                current
    DESCRIPTION
"The optional FC Port Port Symbolic Name as defined in the
 iSNS Specification.  If not provided then the string SHALL
 be zero length."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 4 }

isnsRegFcPortFabricPortWwn  OBJECT-TYPE
    SYNTAX                  FcNameIdOrZero
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The Fabric Port WWN for this entry as defined in the iSNS
 Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
   ::= { isnsRegFcPortEntry 5 }

isnsRegFcPortHA             OBJECT-TYPE
    SYNTAX                  FcAddressId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION 
"The FC Port Hard Address as defined in the iSNS
 Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 6 }

isnsRegFcPortAddrType       OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The type of Inet address in the isnsRegFcPortAddr."
    ::= { isnsRegFcPortEntry 7 }

isnsRegFcPortAddr           OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The FC Port Inet Address as defined in the iSNS
 Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 8 }

isnsRegFcPortFcCos          OBJECT-TYPE
    SYNTAX                  CosBitmapId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The FC Port Class of Service as defined in the iSNS
 Specification."
    REFERENCE  "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 9 }

isnsRegFcPortFc4Types       OBJECT-TYPE
    SYNTAX                  OCTET STRING (SIZE (32))
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The FC Port FC-4 Types as defined in the iSNS
 Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 10 }

isnsRegFcPortFc4Descr       OBJECT-TYPE
    SYNTAX                  OCTET STRING(SIZE(0..255))
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The FC Port FC-4 Descriptors as defined in the iSNS
 Specification."
     REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
   ::= { isnsRegFcPortEntry 11 }

isnsRegFcPortFc4Features    OBJECT-TYPE
    SYNTAX                  OCTET STRING (SIZE (128))
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The FC Port FC-4 Features as defined in the iSNS
 Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 12 }

isnsRegFcPortScnBitmap      OBJECT-TYPE
    SYNTAX                  ScnBitmapId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The State Change Notification (SCN) bitmap for a FC Port.
     Bit Field          Flag Description
     ---------          ----------------
     All others         RESERVED
        24              INITIATOR AND SELF INFORMATION ONLY
        25              TARGET AND SELF INFORMATION ONLY 
        26              MANAGEMENT REGISTRATION/SCN
        27              OBJECT REMOVED
        28              OBJECT ADDED
        29              OBJECT UPDATED
        30              DD/DDS MEMBER REMOVED (MGT REG/SCN ONLY)
        31              DD/DDS MEMBER ADDED (MGT REG/SCN ONLY)
"
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 13 }

isnsRegFcPortRole           OBJECT-TYPE
    SYNTAX                  NodeTypeId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The Node Type bit-map defining the functions of this FC Port.
               Bit         Node Type
           ---------       ---------
           All Others       RESERVED
              29            Control
              30            Initiator
              31            Target
"
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 14 }

isnsRegFcPortFcNodeWwn      OBJECT-TYPE
    SYNTAX                  FcNameIdOrZero
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The FC Node WWN of the FC Node that has been associated with
 this FC Port as defined in the iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcPortEntry 15 }

--
-- iSNS Registered FC Node Information
--

isnsRegFcNodeInfo          OBJECT IDENTIFIER ::= { isnsReg  6 }

--
-- iSNS Registered FC Node Table
--

isnsRegFcNodeTable          OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsRegFcNodeEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing the registered FC Nodes in the iSNS."
    ::= { isnsRegFcNodeInfo 1 }

isnsRegFcNodeEntry          OBJECT-TYPE
    SYNTAX                  IsnsRegFcNodeEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on one registered FC node that has been regisered
 in the iSNS."
    INDEX { isnsRegFcNodeWwn }
    ::= { isnsRegFcNodeTable 1 }

IsnsRegFcNodeEntry ::= SEQUENCE { 
    isnsRegFcNodeWwn            FcNameIdOrZero,
    isnsRegFcNodeSymName        SnmpAdminString,
    isnsRegFcNodeAddrType       InetAddressType,
    isnsRegFcNodeAddr           InetAddress,
    isnsRegFcNodeIPA            OCTET STRING,
    isnsRegFcNodeProxyIscsiName IscsiNameId
                                }

isnsRegFcNodeWwn            OBJECT-TYPE
    SYNTAX                  FcNameIdOrZero
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"The FC Node World Wide Node Name as defined in the iSNS
 Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcNodeEntry 1 }

isnsRegFcNodeSymName        OBJECT-TYPE
    SYNTAX                  SnmpAdminString ( 0 .. 255 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The optional FC Node Symbolic Name of the node as
 defined in the iSNS Specification.  This is a
 variable-length text-based description.  If not
 provided then the string SHALL be zero length."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcNodeEntry 2 }

isnsRegFcNodeAddrType       OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The type of Inet address in isnsRegFcNodeAddr."
    ::= { isnsRegFcNodeEntry 3 }

isnsRegFcNodeAddr           OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The FC Node Inet address of the node as defined in the
 iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcNodeEntry 4 }
 
isnsRegFcNodeIPA            OBJECT-TYPE
    SYNTAX                  OCTET STRING (SIZE(8))
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The object identifies the FC Initial Process Associator
 of the node as defined in the iSNS Specification."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcNodeEntry 5 }

isnsRegFcNodeProxyIscsiName OBJECT-TYPE
    SYNTAX                  IscsiNameId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The iSCSI Name used to represent the FC Node in the IP
 network. It is used as a pointer to the matching iSCSI Name
 entry in the iSNS server.  Its value is usually registered
 by an FC-iSCSI gateway connecting the IP network to the
 fabric containing the FC device."
    REFERENCE  "draft-ietf-ips-iSNS-13.txt, Section 7"
    ::= { isnsRegFcNodeEntry 6 }

--
-- Basic information for the FC Node object
--

isnsRegFcNodeInfoTable      OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsRegFcNodeInfoEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing basic information on registered FC Nodes
 in the iSNS.  The number of entries in the table is dependent
 on the number of FC Nodes registered in the iSNS."
    ::= { isnsRegFcNodeInfo 2 }

isnsRegFcNodeInfoEntry      OBJECT-TYPE
    SYNTAX                  IsnsRegFcNodeInfoEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on one FC Node that has been registered in the
 iSNS."
    INDEX   { isnsRegFcNodeWwn }
    ::= { isnsRegFcNodeInfoTable 1 }

IsnsRegFcNodeInfoEntry ::=
    SEQUENCE { 
       isnsRegFcNodeInfoNumFcPorts   Unsigned32
           }

isnsRegFcNodeInfoNumFcPorts OBJECT-TYPE
    SYNTAX                  Unsigned32 ( 0 .. 4294967295 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The number of FC Ports associated with this FC Node."
    ::= { isnsRegFcNodeInfoEntry 1 }

--
--  Mapping from FC Node to Entity - FC Port
--

isnsRegFcNodePortTable      OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsRegFcNodePortEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"A table containing the FC Nodes to associated iFCP Ports and
 Entity object mapping in the iSNS."
    ::= { isnsRegFcNodeInfo 3 }

isnsRegFcNodePortEntry      OBJECT-TYPE
    SYNTAX                  IsnsRegFcNodePortEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION
"Information on one mapping from an FC Port and Entity to an
 FC node registered in the iSNS."
    INDEX { isnsRegFcNodeWwn,
            isnsRegFcPortWwpn }
    ::= { isnsRegFcNodePortTable 1 }

IsnsRegFcNodePortEntry ::= SEQUENCE { 
        isnsRegFcNodePortEntityEIdx EntityIndexId
                                    }

isnsRegFcNodePortEntityEIdx OBJECT-TYPE
    SYNTAX                  EntityIndexId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The Entity Index for the Entity object associated with the
 FC Port and FC Node."
    ::= { isnsRegFcNodePortEntry 1 }

--
-- iSNS Control Block ----------------------------------------
--

isnsCntl                    OBJECT IDENTIFIER ::= { isnsObj 4 }

--
-- iSNS Primary Server Information
--

isnsPrimary                 OBJECT IDENTIFIER
                                 ::= { isnsCntl 1 }

isnsPrimaryIsnsVersion      OBJECT-TYPE
    SYNTAX                  INTEGER ( 0 .. 65535 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION 
"The iSNS version value as contained in messages received from
 the current primary server.  This information can be
 maintained by both iSNS clients and iSNS servers.  The header
 of each iSNSP message contains the iSNS version of the
 sender."
    REFERENCE               "draft-ietf-ips-iSNS-13.txt"
    ::= { isnsPrimary 1 }

isnsPrimaryAddrType         OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The type of Inet address in isnsPrimaryAddr."
    ::= { isnsPrimary 2 }

isnsPrimaryAddr             OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The in-band Inet address of the current primary iSNS server
 as determined by the discovery process.  This is the source
 address of all iSNSP messages received from the server.  If
 not known, then the value is a zero-length string."
    ::= { isnsPrimary 3 }

isnsPrimaryTcpPort          OBJECT-TYPE
    SYNTAX                  INTEGER ( 0 .. 65535 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"Indicates the TCP port the primary iSNS is accepting
 iSNSP messages on, generally the iSNS well known port. 
 The well known TCP port for iSNSP is 3205.  If not known
 then the value is 0."
    ::= { isnsPrimary 4 }

isnsPrimaryUdpPort          OBJECT-TYPE
    SYNTAX                  INTEGER ( 0 .. 65535 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"Indicates the UDP port the primary iSNS is accepting
 iSNSP messages on, generally the iSNS well known port. 
 The well known UDP port for iSNSP is 3205.  If not known
 then the value is 0."
    ::= { isnsPrimary 5 }

isnsPrimaryMgtAddrType      OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The type of Inet address in isnsPrimaryMgtAddr."
    ::= { isnsPrimary 6 }

isnsPrimaryMgtAddr          OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The SNMP management address of the primary iSNS server
 currently in use, if known.  If not known, then the value
 is a zero-length string.  This is the address that
 may be used to manage the primary iSNS server using SNMP."
    ::= { isnsPrimary 7 }

isnsLocal                    OBJECT IDENTIFIER ::= { isnsCntl 2 }

--
-- iSNS Local Instance Information
--

isnsLocalIsnsVersion        OBJECT-TYPE
    SYNTAX                  INTEGER ( 0 .. 65535 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION 
"The version of the local iSNS.  The local version must be
 compatible with the iSNS server version.  The header of each
 iSNSP message contains the iSNS version."
    ::= { isnsLocal 1 }

isnsLocalAddrType           OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The type of Inet address in isnsLocalAddr."
    ::= { isnsLocal 2 }

isnsLocalAddr               OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The in-band Inet address of the local iSNS. This is the
 address that is used for sending iSNSP messages."
    ::= { isnsLocal 3 }

isnsLocalTcpPort            OBJECT-TYPE
    SYNTAX                  INTEGER ( 0 .. 65535 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"Indicates the TCP port the local iSNS is accepting /
 sending iSNSP messages on.  The well known TCP port for
 iSNSP is 3205."
    ::= { isnsLocal 4 }

isnsLocalUdpPort            OBJECT-TYPE
    SYNTAX                  INTEGER ( 0 .. 65535 )
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"Indicates the UDP port the local iSNS is accepting /
 sending iSNSP messages on.  The well known UDP port for
 iSNSP is 3205."
    ::= { isnsLocal 5 }

isnsLocalRole               OBJECT-TYPE
     SYNTAX                 INTEGER { client(1), 
                                      server(2), 
                                      serverNotPrimary(3) }
     MAX-ACCESS             read-only
    STATUS                  current
     DESCRIPTION 
"The current mode of the local iSNS.
           client: the local iSNS is not configured to be
                   a server
           server: the local iSNS is operating as a primary
                   iSNS server
 serverNotPrimary: the local iSNS can be a primary iSNS
                   server, but is currently acting as a
                   client."
    ::= { isnsLocal 6 }

isnsLocalDiscovery          OBJECT-TYPE
    SYNTAX                  ServerDiscoveryId
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION 
"Indicates the discovery process that is currently being used
 by the local iSNS to discover / register with the primary
 iSNS server."
    ::= { isnsLocal 7 }

isnsLocalMcType             OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The type of Inet address in isnsLocalMcGrp."
    ::= { isnsLocal 8 }

isnsLocalMcGrp              OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The multicast group that iSNS Heartbeat messages are
 sent to if multicast based discovery has been enabled."
    ::= { isnsLocal 9 }

isnsLclCntrl                OBJECT IDENTIFIER
                              ::= { isnsCntl 3 }

--
-- iSNS Local Instance Control
--

isnsLocalReinitialize       OBJECT-TYPE
    SYNTAX                  TruthValue
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION 
"Setting this variable to true reinitializes the local
 iSNS.  If required, setting isnsLocalReinitialize will cause
 the next settings to be used.  NOTE: reinitialization MAY
 disable local iSNS functionality until it has fully
 initialized. This will return TRUE during the period the local
 iSNS is being reinitialized, FALSE at all other times."
    ::= { isnsLclCntrl 1 }

isnsLocalAddrTypeNext       OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION
"The type of Inet address in isnsLocalAddrNext to
 be used for the local iSNS."
    ::= { isnsLclCntrl 2 }

isnsLocalAddrNext           OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION
"The in-band Inet address the local iSNS will use. This is
 the address used for sending iSNSP messages.  Depending on
 the implementation, the value will take effect immediately
 or after next reinitialization.  This variable my not be
 writable in situations where the address is modified through
 other means."
    ::= { isnsLclCntrl 3 }

isnsLocalTcpPortNext        OBJECT-TYPE
    SYNTAX                  Integer32 ( 0 .. 65535 )
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION
"The TCP port the local iSNS will accept / send iSNSP
 messages on.  Depending on the implementation, this value
 will take effect immediately, or after next
 reinitialization."
    ::= { isnsLclCntrl 4 }

isnsLocalUdpPortNext        OBJECT-TYPE
    SYNTAX                  Integer32 ( 0 .. 65535 )
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION
"The UDP port the local iSNS will accept / send iSNSP messages
 on.  Depending on the implementation, this value will take
 effect immediately, or after next reinitialization."
    ::= { isnsLclCntrl 5 }

isnsLocalDiscoveryNext      OBJECT-TYPE
    SYNTAX                  ServerDiscoveryId
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION
"Indicates the server discovery process that will be used by
 the local iSNS to discover / register with the primary iSNS
 server.  Depending on the implementation, this value will
 take effect immediately, or after next reinitialization."
    ::= { isnsLclCntrl 6 }

isnsLocalMcGrpNextType      OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION
"The type of Inet address in isnsLocalMcGrpSet."
    ::= { isnsLclCntrl 7 }

isnsLocalMcGrpNext          OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION
"The multicast address that iSNS Heartbeat messages are sent 
 and received if multicast based discovery has been enabled.
 Depending on the implementation, this value will take effect
 immediately, or after next reinitialization."
    ::= { isnsLclCntrl 8 }

isnsLocalRoleNext           OBJECT-TYPE
     SYNTAX                 INTEGER { client(1), 
                                      server(2) }
     MAX-ACCESS             read-write
    STATUS                  current
     DESCRIPTION 
"The role that the local iSNS will use.
           client: the iSNS is configured to be
                   a client only
           server: the iSNS is configured to take therol of
                   server if it is elected. However, the
                   current role may be client, or
                   serverNotPrimary if another iSNS is
                   currently acting as a server."
    ::= { isnsLclCntrl 9 }

--
-- iSNS primary IP Address table for unicast communication
-- configuration
--

isnsLocalUnicastCfgTable    OBJECT-TYPE
    SYNTAX                  SEQUENCE OF IsnsLocalUnicastCfgEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION     
"iSNS Address table for unicast communication configuration. 
 If unicast iSNS server discovery is being used, then this
 table provides an ordered list of addresses that should be
 checked for an iSNS server. The number of rows is dependent
 on the number of possible primary servers that the user
 configures."
    ::= { isnsLclCntrl 10 }

isnsLocalUnicastCfgEntry    OBJECT-TYPE
    SYNTAX                  IsnsLocalUnicastCfgEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION     
"Information on one iSNS server entry that has been added to
 the unicast configuration table.  Entries can be created
 using a configuration address and adddress type."
     INDEX          { isnsLocalUnicastCfgIndex }
     ::= { isnsLocalUnicastCfgTable 1 }

IsnsLocalUnicastCfgEntry ::= SEQUENCE { 
     isnsLocalUnicastCfgIndex          INTEGER,
     isnsLocalUnicastCfgAddrType       InetAddressType,
     isnsLocalUnicastCfgAddr           InetAddress,
     isnsLocalUnicastCfgRowStatus      RowStatus
                                    }

isnsLocalUnicastCfgIndex    OBJECT-TYPE
    SYNTAX                  INTEGER ( 1 .. 255 )
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION     
"This indicates the order in the list of iSNS server
 IP Address entries.  Each iSNS server in the unicast
 configured network should be in this table.  The client
 should initially attempt to connect with a server at index
 1, and then attempt the next entry, and so on, wrapping
 around at the end of the list, until a successful
 connection is made."
     ::= { isnsLocalUnicastCfgEntry 1 }

isnsLocalUnicastCfgAddrType OBJECT-TYPE
    SYNTAX                  InetAddressType
    MAX-ACCESS              read-create
    STATUS                  current
    DESCRIPTION
"The type of Inet address in isnsLocalUnicastCfgAddr."
    ::= { isnsLocalUnicastCfgEntry 2 }

isnsLocalUnicastCfgAddr     OBJECT-TYPE
    SYNTAX                  InetAddress
    MAX-ACCESS              read-create
    STATUS                  current
    DESCRIPTION
"Identifies the IP address of the iSNS server.  Each
 potential iSNS server in the unicast configured network
 should be in this table."
    ::= { isnsLocalUnicastCfgEntry 3 }

isnsLocalUnicastCfgRowStatus OBJECT-TYPE
     SYNTAX                 RowStatus
     MAX-ACCESS             read-create
    STATUS                  current
     DESCRIPTION
"This indicates the status of this entry in the
 table. This item can be used to determine if the
 entry is a valid value."
    ::= { isnsLocalUnicastCfgEntry 4 }

--
-- Administrative configuration options that apply when
-- the local iSNS is configured to operate as a server
--

isnsLocalDefaultDdDdsStatus OBJECT-TYPE
    SYNTAX                  INTEGER { inNoDomain(1), 
                                      inDefaultDomain(2) }
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION
"The Discovery Domain and Discovery Domain Set membership
 status for a new device when registerd in the iSNS. Either
 the new device will not be in a domain, or will be placed
 into a default Discovery Domain and default Discovery
 Domain Set.  The default setting is inNoDomain.  If
 enabled, the Default Domain is DD ID 1, and the Default
 Domain Set is DDS ID 1."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 3.4"
    DEFVAL                  { inNoDomain }
    ::= { isnsLclCntrl 11 }

isnsLocalEsiNonRespThreshold OBJECT-TYPE
    SYNTAX                  INTEGER ( 0 .. 65535 )
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION 
"ESI Non-Response Threshold - determines the number of ESI
 messages that will be sent without receiving a response
 before an entity is deregistered from the iSNS database. 
 If set to 0 then Entities will never be deregistered due to
 non-receipt of ESI messages."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 3.4"
    DEFVAL                  { 3 }
    ::= { isnsLclCntrl 12 }

isnsLocalEnableDdDdsChange  OBJECT-TYPE
    SYNTAX                  DdDdsModificationBitmap
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION 
"The methods that can be used on this server to modify
 Discovery Domains and Discovery Domain Sets.
     Bit Field          Flag Description
     ---------          ----------------
         0               SNMP Enabled
         1               Control Node Enabled
         2               Target iSCSI Node Enabled
         3               Initiator iSCSI Node Enabled
         4               Target iFCP Port Enabled
         5               Initiator iFCP Port Enabled"
    REFERENCE  "draft-ietf-ips-iSNS-13.txt, Section 3.4"
    DEFVAL                  { { snmpEnabled, controlNode } }
    ::= { isnsLclCntrl 13 }

isnsLocalEnableCntrlNdeMgtScn OBJECT-TYPE
    SYNTAX                  TruthValue
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION 
"Enable Management SCN for Control Node - enable the option
 for a control node to register for and receive Management
 SCNs sent by this server."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 3.4"
    DEFVAL                  { true }
    ::= { isnsLclCntrl 14 }

isnsLocalCntrlNodeAuth      OBJECT-TYPE
    SYNTAX                  INTEGER { anyNode(1), 
                                      specifiedNodesOnly(2) }
    MAX-ACCESS              read-write
    STATUS                  current
    DESCRIPTION
"The administrative process being used to allow nodes to
 register as a control node for this server.  Control Nodes
 can be configured to receive management SCNs and modification
 of DDs and DDSs notifications.  If only specified nodes
 are allowed to register as control nodes, then they will be
 listed in isnsLocalIsciCntlNodeCfgTable and
 isnsLocalFcCntlNodeCfgTable."
    REFERENCE "draft-ietf-ips-iSNS-13.txt, Section 3.4"
    DEFVAL                  { specifiedNodesOnly }
    ::= { isnsLclCntrl 15 }

--
-- Specific iSCSI Nodes authorized to register as Control Nodes
--

isnsLocalIsciCntlNodeCfgTable OBJECT-TYPE
    SYNTAX                  SEQUENCE OF
                              IsnsLocalIsciCntlNodeCfgEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION     
"Specified iSCSI Nodes that can register as control nodes. 
 The number of rows is dependent on the number of possible
 iSCSI Control Nodes."
    ::= { isnsLclCntrl 16 }

isnsLocalIsciCntlNodeCfgEntry OBJECT-TYPE
    SYNTAX                  IsnsLocalIsciCntlNodeCfgEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION     
"Iscsi control node entry."
     INDEX          { isnsLocalIscsiCntlNode }
     ::= { isnsLocalIsciCntlNodeCfgTable 1 }

IsnsLocalIsciCntlNodeCfgEntry ::= SEQUENCE { 
     isnsLocalIscsiCntlNode            IscsiNameId,
     isnsLocalIscsiCntlNodeRowStatus   RowStatus
                                           }

isnsLocalIscsiCntlNode      OBJECT-TYPE
    SYNTAX                  IscsiNameId
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION     
"iSCSI Node that can register as a control node."
     ::= { isnsLocalIsciCntlNodeCfgEntry 1 }

isnsLocalIscsiCntlNodeRowStatus OBJECT-TYPE
     SYNTAX                 RowStatus
     MAX-ACCESS             read-create
     STATUS                 current
     DESCRIPTION
"This indicates the status of this entry in the
 table."
     ::= { isnsLocalIsciCntlNodeCfgEntry 2 }

--
-- Specific FC Ports authorized to register as Control Nodes
--

isnsLocalFcCntlNodeCfgTable OBJECT-TYPE
    SYNTAX                  SEQUENCE OF
                              IsnsLocalFcCntlNodeCfgEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION     
"Specified FC Ports that can register as control nodes.  The
 number of rows is dependent on the number of possible FC
 Port Control Nodes."
    ::= { isnsLclCntrl 17 }

isnsLocalFcCntlNodeCfgEntry OBJECT-TYPE
    SYNTAX                  IsnsLocalFcCntlNodeCfgEntry
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION     
"FC Port control node entry."
     INDEX          { isnsLocalFcCntlNode }
     ::= { isnsLocalFcCntlNodeCfgTable 1 }

IsnsLocalFcCntlNodeCfgEntry ::= SEQUENCE { 
     isnsLocalFcCntlNode            FcNameIdOrZero,
     isnsLocalFcCntlNodeRowStatus   RowStatus
                                         }

isnsLocalFcCntlNode         OBJECT-TYPE
    SYNTAX                  FcNameIdOrZero
    MAX-ACCESS              not-accessible
    STATUS                  current
    DESCRIPTION     
"FC Port that can be a control node."
     ::= { isnsLocalFcCntlNodeCfgEntry 1 }

isnsLocalFcCntlNodeRowStatus OBJECT-TYPE
    SYNTAX                  RowStatus
    MAX-ACCESS              read-create
    STATUS                  current
    DESCRIPTION
"This indicates the status of this entry in the
 table."
     ::= { isnsLocalFcCntlNodeCfgEntry 2 }

--
-- End of Control Block information
--

--
-- iSNS Notification Block --------------------------------
--

isnsNotification            OBJECT IDENTIFIER
                                  ::= { isnsObj 5 }

isnsNotificationInfo        OBJECT IDENTIFIER
                                  ::= { isnsNotification 1 }

isnsNodeNotificationStatus  OBJECT-TYPE
    SYNTAX                  INTEGER { 
                           storageNodeRegistered(1),
                           storageNodeDeregistered(2),
                           controlNodeRegistered(3),
                           controlNodeDeregistered(4),
                           nodeUpdated(5),
                           nodeDdMembershipChange(6)
                                     }
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"This indicates a node has changed state, and the reason that
 the notification was sent.

 Strge Node Registered   : storage node has been registered
                           in the iSNS.
 Strge Node Deregistered : storage node was deregistered
                           from the iSNS.
 Cntrl Node Registered   : control node has been registered in
                           the iSNS.
 Cntrl Node Deregistered : control node was deregistered from
                           the iSNS.
 Node Updated            : node registration attributes have
                           been updated in the iSNS.
 Node DD Membership Change : the node has been added/removed
                           from a DD
"
    ::= { isnsNotificationInfo 1 }

isnsIfcpWwnNotification     OBJECT-TYPE
    SYNTAX                  FcNameIdOrZero
    MAX-ACCESS              read-only
    STATUS                  current
    DESCRIPTION
"The FC Port Port WWN that is included in a notification sent
 when a node changes state."
    ::= { isnsNotificationInfo 2 }

isnsNotificationPrefix OBJECT IDENTIFIER
                           ::= { isnsNotification 0 }

isnsServerStartup           NOTIFICATION-TYPE
    OBJECTS { 
        isnsPrimaryAddrType,
        isnsPrimaryAddr,
        isnsPrimaryTcpPort,
        isnsPrimaryUdpPort,
        isnsPrimaryMgtAddrType,
        isnsPrimaryMgtAddr
          }
    STATUS                  current
    DESCRIPTION
"This notification is sent when an iSNS server begins
 operation as a primary.  The intent is to notify a management
 station of the primary server addresses and port information."
    ::= { isnsNotificationPrefix 1 }

isnsIscsiNodeChange         NOTIFICATION-TYPE
    OBJECTS { 
        isnsRegIscsiNodeName,
        isnsNodeNotificationStatus
          }
    STATUS                  current
    DESCRIPTION
"This notification is sent when a node changes state within
 the iSNS server."
    ::= { isnsNotificationPrefix 2 }

isnsFcPortChange            NOTIFICATION-TYPE
    OBJECTS { 
        isnsIfcpWwnNotification,
        isnsNodeNotificationStatus
          }
    STATUS                  current
    DESCRIPTION
"This notification is sent when a node changes state within
 the iSNS server."
    ::= { isnsNotificationPrefix 3 }

------------------------------------------------------------

isnsGroups OBJECT IDENTIFIER ::= { isnsConformance 1 }

isnsDdsAttributesGroup      OBJECT-GROUP
    OBJECTS { 
       isnsDdsNumber,
       isnsDdsSymbolicName,
       isnsDdsStatus,
       isnsDdsRowStatus,
       isnsDdsDdRowStatus,
       isnsDdsIdNext
          }
    STATUS                  current
    DESCRIPTION
"Discovery Domain Set attributes"
    ::= { isnsGroups 1 }

isnsDdAttributesGroup       OBJECT-GROUP
    OBJECTS { 
       isnsDdNumber,
       isnsDdSymbolicName,
       isnsDdFeatures,
       isnsDdRowStatus,
       isnsDdIdNext
          }
    STATUS                  current
    DESCRIPTION
"Discovery Domain attributes"
    ::= { isnsGroups 2 }

isnsDdIscsiAttributesGroup OBJECT-GROUP
    OBJECTS { 
       isnsDdIscsiNodeName,
       isnsDdIscsiNodeRowStatus,
       isnsDdIscsiNodeIdxNext
          }
    STATUS                  current
    DESCRIPTION
"Discovery Domain iSCSI Member attributes"
    ::= { isnsGroups 3 }

isnsDdFcPortAttributesGroup OBJECT-GROUP
    OBJECTS { 
       isnsDdFcPortRowStatus
          }
    STATUS                  current
    DESCRIPTION
"Discovery Domain FC Port Member attributes"
    ::= { isnsGroups 4 }

isnsDdPortalAttributesGroup OBJECT-GROUP
    OBJECTS { 
       isnsDdPortalAddrType,
       isnsDdPortalAddr,
       isnsDdPortalPort,
       isnsDdPortalPortType,
       isnsDdPortalRowStatus,
       isnsDdPortalIdxNext
            }
    STATUS                  current
    DESCRIPTION
"Discovery Domain Explicit Portal Membership
 attributes"
    ::= { isnsGroups 5 }

isnsRegEntityAttributesGroup OBJECT-GROUP
    OBJECTS { 
       isnsNumEntities,
       isnsRegEntityEID,
       isnsRegEntityProtocol,
       isnsRegEntityMgtAddrType,
       isnsRegEntityMgtAddr,
       isnsRegEntityTimestamp,
       isnsRegEntityVersionMin,
       isnsRegEntityVersionMax,
       isnsRegEntityRegPeriod,
       isnsRegEntityInfoNumNodes,
       isnsRegEntityInfoNumPortals
          }
    STATUS                  current
    DESCRIPTION
"Registered storage entity attributes"
    ::= { isnsGroups 6 }

isnsRegPortalAttributesGroup OBJECT-GROUP
    OBJECTS { 
       isnsNumPortals,
       isnsRegPortalAddrType,
       isnsRegPortalAddr,
       isnsRegPortalPort,
       isnsRegPortalPortType,
       isnsRegPortalSymName,
       isnsRegPortalEsiInterval,
       isnsRegPortalEsiPort,
       isnsRegPortalEsiPortType,
       isnsRegPortalGroupTag,
       isnsRegPortalScnPort,
       isnsRegPortalScnPortType,
       isnsRegPortalSecurityInfo
          }
    STATUS                  current
    DESCRIPTION
"Registered Portal attributes"
    ::= { isnsGroups 7 }

isnsRegIscsiNodeAttributesGroup OBJECT-GROUP
    OBJECTS { 
       isnsNumIscsiNodes,
       isnsRegIscsiNodeName,
       isnsRegIscsiNodeType,
       isnsRegIscsiNodeAlias,
       isnsRegIscsiNodeScnBitmap,
       isnsRegIscsiNodeWwnToken,
       isnsRegIscsiNodeAuthMethod,
       isnsRegIscsiNodeRowStatus
          }
    STATUS                  current
    DESCRIPTION
"Registered iSCSI Node attributes"
    ::= { isnsGroups 8 }

isnsRegFcPortAttributesGroup OBJECT-GROUP
    OBJECTS { 
       isnsNumFcPorts,
       isnsRegFcPortID,
       isnsRegFcPortType,
       isnsRegFcPortSymName,
       isnsRegFcPortFcNodeWwn,
       isnsRegFcPortFabricPortWwn,
       isnsRegFcPortHA,
       isnsRegFcPortAddrType,
       isnsRegFcPortAddr,
       isnsRegFcPortFcCos,
       isnsRegFcPortFc4Types,
       isnsRegFcPortFc4Descr,
       isnsRegFcPortFc4Features,
       isnsRegFcPortScnBitmap,
       isnsRegFcPortRole
          }
    STATUS                  current
    DESCRIPTION
"Registered FC Port attributes"
    ::= { isnsGroups 9 }

isnsRegFcNodeAttributesGroup OBJECT-GROUP
    OBJECTS { 
       isnsNumFcNodes,
       isnsRegFcNodeSymName,
       isnsRegFcNodeAddrType,
       isnsRegFcNodeAddr,
       isnsRegFcNodeIPA,
       isnsRegFcNodeProxyIscsiName,
       isnsRegFcNodeInfoNumFcPorts,
       isnsRegFcNodePortEntityEIdx
          }
    STATUS                  current
    DESCRIPTION
"Registered FC Node attributes"
    ::= { isnsGroups 10 }

isnsPrimaryAttributesGroup OBJECT-GROUP
    OBJECTS { 
        isnsPrimaryIsnsVersion,
        isnsPrimaryAddrType,
        isnsPrimaryAddr,
        isnsPrimaryTcpPort,
        isnsPrimaryUdpPort,
        isnsPrimaryMgtAddrType,
        isnsPrimaryMgtAddr
          }
    STATUS                  current
    DESCRIPTION
"Primary iSNS server attributes"
    ::= { isnsGroups 11 }

isnsLocalAttributesGroup OBJECT-GROUP
    OBJECTS { 
        isnsLocalIsnsVersion,
        isnsLocalAddrType,
        isnsLocalAddr,
        isnsLocalTcpPort,
        isnsLocalUdpPort,
        isnsLocalRole,
        isnsLocalDiscovery,
        isnsLocalMcType,
        isnsLocalMcGrp
          }
    STATUS                  current
    DESCRIPTION
"Local iSNS attributes.  These are the values currently
 in use by the local iSNS client/server.  They must be
 compatible with the primary iSNS server attributes in
 order for it to properly function."
    ::= { isnsGroups 12 }

isnsLocalCntlAttributesGroup OBJECT-GROUP
    OBJECTS { 
        isnsLocalAddrTypeNext,
        isnsLocalAddrNext,
        isnsLocalTcpPortNext,
        isnsLocalUdpPortNext,
        isnsLocalRoleNext,
        isnsLocalDiscoveryNext,
        isnsLocalDefaultDdDdsStatus,
        isnsLocalMcGrpNextType,
        isnsLocalMcGrpNext,
        isnsLocalUnicastCfgAddrType,
        isnsLocalUnicastCfgAddr,
        isnsLocalUnicastCfgRowStatus,
        isnsLocalReinitialize,
        isnsLocalEsiNonRespThreshold,
        isnsLocalEnableDdDdsChange,
        isnsLocalEnableCntrlNdeMgtScn,
        isnsLocalCntrlNodeAuth,
        isnsLocalIscsiCntlNodeRowStatus,
        isnsLocalFcCntlNodeRowStatus
          }
    STATUS                  current
    DESCRIPTION
"The local iSNS client/server attributes for local control."
    ::= { isnsGroups 13 }

isnsServerNotificationAttributesGroup OBJECT-GROUP
    OBJECTS { 
        isnsNodeNotificationStatus,
        isnsIfcpWwnNotification
          }
    STATUS                  current
    DESCRIPTION
"The attributes required for iSNS server notifications."
    ::= { isnsGroups 14 }

isnsServerNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS { 
        isnsServerStartup,
        isnsIscsiNodeChange,
        isnsFcPortChange
          }
    STATUS                  current
    DESCRIPTION
"The iSNS server uses these notifications to indicate to a
 management station changes that are occurring in the
 network."
    ::= { isnsGroups 15 }

--
-- Compliance Information
--

isnsCompliances OBJECT IDENTIFIER ::= { isnsConformance 2 }

isnsIscsiServerComplianceV1 MODULE-COMPLIANCE
    STATUS                  current
    DESCRIPTION
"Initial compliance statement for an iSNS server providing
 support to iSCSI clients."
    MODULE       -- this module
    MANDATORY-GROUPS { 
        isnsDdsAttributesGroup,
        isnsDdAttributesGroup,
        isnsDdIscsiAttributesGroup,
        isnsRegEntityAttributesGroup,
        isnsRegPortalAttributesGroup,
        isnsRegIscsiNodeAttributesGroup,
        isnsPrimaryAttributesGroup,
        isnsLocalAttributesGroup,
        isnsLocalCntlAttributesGroup
                   }
::= { isnsCompliances 1 }

isnsIscsiClientComplianceV1 MODULE-COMPLIANCE
    STATUS                  current
    DESCRIPTION
"Initial compliance statement for an iSNS Client being
 used by an iSCSI client."
    MODULE       -- this module
    MANDATORY-GROUPS { 
        isnsPrimaryAttributesGroup,
        isnsLocalAttributesGroup,
        isnsLocalCntlAttributesGroup
                   }
::= { isnsCompliances 2 }

isnsIfcpServerComplianceV1  MODULE-COMPLIANCE
    STATUS                  current
    DESCRIPTION
"Initial compliance statement for an iSNS server
 providing support to iFCP clients."
    MODULE       -- this module
    MANDATORY-GROUPS { 
        isnsDdsAttributesGroup,
        isnsDdAttributesGroup,
        isnsDdFcPortAttributesGroup,
        isnsRegEntityAttributesGroup,
        isnsRegPortalAttributesGroup,
        isnsRegFcPortAttributesGroup,
        isnsRegFcNodeAttributesGroup,
        isnsPrimaryAttributesGroup,
        isnsLocalAttributesGroup,
        isnsLocalCntlAttributesGroup
                   }
::= { isnsCompliances 3 }

isnsIfcpClientComplianceV1  MODULE-COMPLIANCE
    STATUS                  current
    DESCRIPTION
"Initial compliance statement for an iSNS Client being
 used by an iFCP client."
    MODULE       -- this module
    MANDATORY-GROUPS { 
        isnsPrimaryAttributesGroup,
        isnsLocalAttributesGroup,
        isnsLocalCntlAttributesGroup
                   }
::= { isnsCompliances 4 }

END